package entidades;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Version;

import enumeraciones.BrucknerEnum;
import enumeraciones.MedioRefractanteEnum;
import enumeraciones.TecnicaEnum;


/**
 * The persistent class for the t_oftalmoscopia database table.
 * 
 */
@Entity
@Table(name="t_oftalmoscopia")
public class TOftalmoscopia  implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@SequenceGenerator(name="T_OFTALMOSCOPIA_IDOFTALMOSCOPIA_GENERATOR", sequenceName="T_OFTALMOSCOPIA_ID_OFTALMOSCOPIA_SEQ", allocationSize=1)
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="T_OFTALMOSCOPIA_IDOFTALMOSCOPIA_GENERATOR")
	@Column(name="id_oftalmoscopia")
	private Integer idOftalmoscopia;

	@Column(name="des_bruckner")
	@Enumerated (value = EnumType.STRING)
	private BrucknerEnum desBruckner;

	@Column(name="des_od")
	private String desOd;

	@Column(name="des_oi")
	private String desOi;

	@Column(name="des_med_refrac_od")
	@Enumerated (value = EnumType.STRING)
	private MedioRefractanteEnum medRefracOd;
	
	@Column(name="des_med_refrac_oi")
	@Enumerated (value = EnumType.STRING)
	private MedioRefractanteEnum medRefracOi;
	
	@Column(name="des_tecnica")
	@Enumerated (value = EnumType.STRING)
	private TecnicaEnum tecnica;
	
	@Column(name="user_creacion")
	private String userCreacion;

	@Column(name="user_modificacion")
	private String userModificacion;

	@Temporal( TemporalType.TIMESTAMP)
	@Column(name="fecha_creacion")
	private Date fechaCreacion;
	
	@Temporal( TemporalType.TIMESTAMP)
	@Column(name="fecha_modificacion")
	private Date fechaModificacion;
	
	//bi-directional many-to-one association to TControl
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="id_control")
	private TControl TControl;

	@Version
	private Integer version;
	
    public TOftalmoscopia() {
    }

	public Integer getIdOftalmoscopia() {
		return this.idOftalmoscopia;
	}

	public void setIdOftalmoscopia(Integer idOftalmoscopia) {
		this.idOftalmoscopia = idOftalmoscopia;
	}

	public String getDesOd() {
		return this.desOd;
	}

	public void setDesOd(String desOd) {
		this.desOd = desOd;
	}

	public String getDesOi() {
		return this.desOi;
	}

	public void setDesOi(String desOi) {
		this.desOi = desOi;
	}

	public TControl getTControl() {
		return TControl;
	}

	public void setTControl(TControl tControl) {
		TControl = tControl;
	}

	public TecnicaEnum getTecnica() {
		return tecnica;
	}

	public void setTecnica(TecnicaEnum tecnica) {
		this.tecnica = tecnica;
	}

	public MedioRefractanteEnum getMedRefracOd() {
		return medRefracOd;
	}

	public void setMedRefracOd(MedioRefractanteEnum medRefracOd) {
		this.medRefracOd = medRefracOd;
	}

	public MedioRefractanteEnum getMedRefracOi() {
		return medRefracOi;
	}

	public void setMedRefracOi(MedioRefractanteEnum medRefracOi) {
		this.medRefracOi = medRefracOi;
	}

	public BrucknerEnum getDesBruckner() {
		return desBruckner;
	}

	public void setDesBruckner(BrucknerEnum desBruckner) {
		this.desBruckner = desBruckner;
	}

	public Integer getVersion() {
		return version;
	}

	public void setVersion(Integer version) {
		this.version = version;
	}

	public String getUserCreacion() {
		return userCreacion;
	}

	public void setUserCreacion(String userCreacion) {
		this.userCreacion = userCreacion;
	}

	public String getUserModificacion() {
		return userModificacion;
	}

	public void setUserModificacion(String userModificacion) {
		this.userModificacion = userModificacion;
	}

	public Date getFechaCreacion() {
		return fechaCreacion;
	}

	public void setFechaCreacion(Date fechaCreacion) {
		this.fechaCreacion = fechaCreacion;
	}

	public Date getFechaModificacion() {
		return fechaModificacion;
	}

	public void setFechaModificacion(Date fechaModificacion) {
		this.fechaModificacion = fechaModificacion;
	}
	
}